Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / core / model / src / commonMain / kotlin / org / meshtastic / core / model / MaintenanceUf2Manifest.kt

Displaying Raw • Download

core/model/src/commonMain/kotlin/org/meshtastic/core/model/MaintenanceUf2Manifest.kt bd2863243bab6eb213401d949839a2bc74dde7e2 (bd286324) Text, 3.05 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.model

Tff7b72import T7ee787kotlinx.serialization.SerialName
Tff7b72import T7ee787kotlinx.serialization.Serializable

T8b949e/**
* Pinned nRF52/RP2040 maintenance UF2 manifest — factory-erase and OTAFIX bootloader self-update images, keyed by
* hardware. Envelope of `resource/maintenanceUf2` and the bundled `maintenance_uf2.json` seed asset. Each image's own
* `sha256` is checked against its downloaded bytes before any write — see `MaintenanceUf2.kt` — independently of how
* this manifest itself is fetched.
*/
Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364MaintenanceUf2ManifestTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffmanifestVersionTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3manifestVersionTb4b4b4: Tffa657Int Tff7b72= T79c0ff1Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffotafixReleaseTagTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3otafixReleaseTagTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffotafixBaseTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3otafixBaseTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6fferaseTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3eraseTb4b4b4: Te6edf3MaintenanceUf2EraseSet? Tff7b72= Tff7b72nullTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffotafixByBoardIdTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3otafixByBoardIdTb4b4b4: Te6edf3MapTff7b72<Tffa657StringTb4b4b4, Te6edf3OtafixAssetEntryTff7b72> Tff7b72= Te6edf3emptyMapTb4b4b4(Tb4b4b4)Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffotafixSupportedTargetsTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3otafixSupportedTargetsTb4b4b4: Te6edf3ListTff7b72<Tffa657StringTff7b72> Tff7b72= Te6edf3emptyListTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)

T8b949e/**
* Nested by architecture, then (for nRF52) by SoftDevice wire value — RP2040 has no SoftDevice concept at all, so it
* correctly has no sub-key, unlike the old flat {s140_6_1_1, s140_7_3_0, rp2040} shape that mixed a SoftDevice-variant
* axis with an architecture axis in one object.
*/
Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364MaintenanceUf2EraseSetTb4b4b4(
T8b949e/** Keyed by [SoftDeviceVariant.fromWire]'s own input strings, e.g. "6.1.1" / "7.3.0". */
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffnrf52Ta5d6ff"Tb4b4b4) Tff7b72val Te6edf3nrf52Tb4b4b4: Te6edf3MapTff7b72<Tffa657StringTb4b4b4, Te6edf3EraseImageEntryTff7b72> Tff7b72= Te6edf3emptyMapTb4b4b4(Tb4b4b4)Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffrp2040Ta5d6ff"Tb4b4b4) Tff7b72val Te6edf3rp2040Tb4b4b4: Te6edf3EraseImageEntryTb4b4b4,
Tb4b4b4)

Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364EraseImageEntryTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6fffileNameTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3fileNameTb4b4b4: Tffa657StringTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffsha256Ta5d6ff"Tb4b4b4) Tff7b72val Te6edf3sha256Tb4b4b4: Tffa657StringTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffexpectedFirstTargetAddressTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3expectedFirstTargetAddressTb4b4b4: Tffa657Long? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4)

T8b949e/**
* @property otafixBoardSlug OTAFIX's own release-asset board slug (e.g. "wiscore_rak4631_board") — deliberately NOT
* named the same as [DeviceHardware.platformioTarget] (e.g. "rak4631"): the two vocabularies differ per board, and a
* shared name here would invite exactly the confusion this class's callers already have to spell out in prose.
*/
Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364OtafixAssetEntryTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffotafixBoardSlugTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3otafixBoardSlugTb4b4b4: Tffa657StringTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffsha256Ta5d6ff"Tb4b4b4) Tff7b72val Te6edf3sha256Tb4b4b4: Tffa657StringTb4b4b4,
Tb4b4b4)

Served by rngit 1.5.0 - Generated in 0.05s